home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Tools / Win95 Secrets / SETUP.Z / TDB.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-19  |  3.1 KB  |  61 lines

  1. //==================================
  2. // SHOW16 - Matt Pietrek 1995
  3. // FILE: TDB.H
  4. //==================================
  5. #pragma pack (1)
  6.  
  7. typedef struct
  8. {
  9.     HTASK   TDB_next;           // next task in dispatch queue
  10.     WORD    TDB_taskSP;         // Saved SS:SP for this task
  11.     WORD    TDB_taskSS;         //
  12.     WORD    TDB_nEvents;        // Task event counter
  13.     BYTE    TDB_priority;       // Task priority (0 is highest)
  14.     BYTE    TDB_thread_ordinal; // ordinal number of this thread
  15.     WORD    TDB_thread_next;    // next thread
  16.     WORD    TDB_thread_tdb;     // the real TDB for this task
  17.     WORD    TDB_thread_list;    // list of allocated thread structures
  18.     WORD    TDB_thread_free;    // free list of available thread structures
  19.     WORD    TDB_thread_count;   // total count of tread structures
  20.     WORD    TDB_FCW;            // Floating point control word
  21.     WORD    TDB_flags;          // Task flags
  22.     WORD    TDB_ErrMode;        // Error mode for this task
  23.     WORD    TDB_ExpWinVer;      // Expected Windows version for this task
  24.     WORD    TDB_HInstance;      // instance handle of task
  25.     WORD    TDB_HMODULE;        // module database for task
  26.     WORD    TDB_Queue;          // Task Event Queue pointer
  27.     WORD    TDB_Parent;         // TDB of the task that started this up
  28.     WORD    TDB_SigAction;      // Action for app task signal
  29.     FARPROC TDB_ASignalProc;    // App's signal procedure address
  30.     FARPROC TDB_USignalProc;    // User's Task Signal procedure address
  31.     FARPROC TDB_GNotifyProc;    // Task global discard notify proc.
  32.     FARPROC TDB_INTVECS[7];     // Task specfic hardware interrupts
  33.     DWORD   TDB_CompatFlags;    // Compatibility flags
  34.     WORD    TDB_FS_selector;    // Same selector as FS (points inside TCB)
  35.     DWORD   TDB_ring3_thread_db;// 32 bit address of KERNEL32 thread database
  36.     WORD    TDB_thunk_stack_ss; // selector used for stack during thunking
  37.     WORD    TDB_filler[3];      // appears to be unused
  38.     WORD    TDB_PSP;            // MSDOS Process Data Block (aka, the PSP)
  39.     LPBYTE  TDB_DTA;            // MSDOS Disk Transfer Address
  40.     BYTE    TDB_Drive;          // MSDOS current drive
  41.     char    TDB_Directory[65];  // MSDOS current directory
  42.     WORD    TDB_Validity;       // initial AX to be passed to a task
  43.     HTASK   TDB_Yield_to;       // DirectedYield arg stored here
  44.     WORD    TDB_LibInitSeg;     // segment address of libraries to init
  45.     WORD    TDB_LibInitOff;     //
  46.                                 // MakeProcInstance thunks live here.
  47.     WORD    TDB_MPI_Sel;        // Code selector for thunks
  48.     WORD    TDB_more_thunks;    // selector of segment with more MPI thunks
  49.     WORD    TDB_PT_sig;         // 'PT'
  50.     WORD    TDB_unused1;        //
  51.     WORD    TDB_next_MPI_thunk; //
  52.     char    TDB_MPI_Thunks[0x38];   //
  53.     char    TDB_ModName[8];     // Name of Module.
  54.     WORD    TDB_sig;            // Signature word to detect bogus code
  55.     DWORD   TDB_unused2;
  56.     char    TDB_current_directory[0x110];   // Current directory
  57. } TDB, FAR * LPTDB;
  58.  
  59. #define TDB_FLAGS_WIN32     0x0010
  60. #define TDB_FLAGS_WINOLDAP  0x0001
  61.